package com.example.makerspace.domain;

import com.aliyun.tea.NameInMap;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.makerspace.mapper.MybatisListHandler;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;
import org.springframework.data.elasticsearch.annotations.DateFormat;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
import org.springframework.web.multipart.MultipartFile;

import java.util.Date;
import java.util.List;

import static com.fasterxml.jackson.annotation.JsonInclude.Include.NON_NULL;

@Data
@TableName(value = "t_enterprise_certification", autoResultMap = true)
@Document(indexName = "t_enterprise_certification")
public class EnterpriseCertificationDO {
    @Field(name = "id",type = FieldType.Text, analyzer="ik_max_word")
    @TableId(type = IdType.AUTO)
    private  String id;
    @Field(name = "ent_name", type = FieldType.Text, analyzer="ik_max_word")
    private String entName;
    @Field(name = "Info_verify_type", type = FieldType.Text, analyzer="ik_max_word")
    private String infoVerifyType;
    @Field(name = "legal_person_cert_no", type = FieldType.Text, analyzer="ik_max_word")
    private String legalPersonCertNo;
    @Field(name = "legal_person_name", type = FieldType.Text, analyzer="ik_max_word")
    private String legalPersonName;
    @Field(name = "license_no", type = FieldType.Text, analyzer="ik_max_word")
    private String licenseNo;
    @Field(name = "merchant_biz_id", type = FieldType.Text, analyzer="ik_max_word")
    private String merchantBizId;
    @Field(name = "merchant_user_id", type = FieldType.Text, analyzer="ik_max_word")
    private String merchantUserId;
    @Field(name = "scene_code", type = FieldType.Text, analyzer="ik_max_word")
    private String sceneCode;
    @Field(name = "user_authorization", type = FieldType.Text, analyzer="ik_max_word")
    private String userAuthorization;
    @Field(name = "phoneNumber", type = FieldType.Text, analyzer="ik_max_word")
    private  String phoneNumber;
    @Field(name = "attachment", type = FieldType.Text, analyzer="ik_max_word")
    private  String attachment;
    @Field(name = "certification_results", type = FieldType.Text, analyzer="ik_max_word")
    private  Integer certificationResults;
    @Field(name = "industry_sector", type = FieldType.Text, analyzer="ik_max_word")
    private  String  industrySector;
    @Field(name = "quality", type = FieldType.Text, analyzer="ik_max_word")
    private String quality;
    @Field(name = "most_products", type = FieldType.Text, analyzer="ik_max_word")
    private  String mostProducts;
    @Field(name = "brief_introduction", type = FieldType.Text, analyzer="ik_max_word")
    private  String briefIntroduction;
    @Field(name = "landline", type = FieldType.Text, analyzer="ik_max_word")
    private  String landline;
    @Field(name = "founded", type = FieldType.Text, analyzer="ik_max_word")
    private Date founded;
    @Field(name = "logo", type = FieldType.Text, analyzer="ik_max_word")
    private String logo;
    @TableField(typeHandler = MybatisListHandler.class)
    @Field(name = "posters", type = FieldType.Text, analyzer="ik_max_word")
    private List<String> posters;
    @Field(name = "leader", type = FieldType.Text, analyzer="ik_max_word")
    private  String leader;
    @Field(name = "address", type = FieldType.Text, analyzer="ik_max_word")
    private  String address;
    @Field(name = "remark", type = FieldType.Text, analyzer="ik_max_word")
    private  String remark;
    @Field(name = "map_address", type = FieldType.Text, analyzer="ik_max_word")
    private  String mapAddress;
    @Field(name = "license", type = FieldType.Text, analyzer="ik_max_word")
    private  String license;
    @Field(name = "reviewer", type = FieldType.Text, analyzer="ik_max_word")
    private  String reviewer;



    @Field(type = FieldType.Date,format = DateFormat.basic_date_time,name = "create_time")
    protected Date createTime;

    @Field(type = FieldType.Date,format = DateFormat.basic_date_time,name = "modify_time")
    protected Date modifyTime;


}
